package com.java.comprehensive.arithmetic.leecode.medium;

import java.util.HashMap;
import java.util.Map;

public class LeetCode_454 {

    public static int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {

        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums1.length; i++) {
            for (int i1 = 0; i1 < nums2.length; i1++) {
                int i2 = nums1[i] + nums2[i1];
                if (map.containsKey(i2)) {
                    Integer integer = map.get(i2);
                    map.put(i2, integer + 1);
                } else {
                    map.put(i2, 1);
                }
            }
        }
        int result = 0;

        for (int i = 0; i < nums3.length; i++) {
            for (int i1 = 0; i1 < nums4.length; i1++) {
                // -号 相当于 目标值减去当前值 也就是0 - (num3 + num4) 得到想要的数字
                Integer temp = -(nums3[i] + nums4[i1]);
                if (map.get(temp) != null) {
                    result += map.get(temp);
                }
            }
        }
        return result;
    }

    public static void main(String[] args) {

    }

}
